/**
 * Copyright (c) 2000-2012 Liferay, Inc. All rights reserved.
 *
 * This library is free software; you can redistribute it and/or modify it under
 * the terms of the GNU Lesser General Public License as published by the Free
 * Software Foundation; either version 2.1 of the License, or (at your option)
 * any later version.
 *
 * This library is distributed in the hope that it will be useful, but WITHOUT
 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
 * FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more
 * details.
 */

package com.bkav.portal.portlet.product.service;

import com.liferay.portal.service.ServiceWrapper;

/**
 * <p>
 * This class is a wrapper for {@link ProductLocalService}.
 * </p>
 *
 * @author    ducdvd
 * @see       ProductLocalService
 * @generated
 */
public class ProductLocalServiceWrapper implements ProductLocalService,
	ServiceWrapper<ProductLocalService> {
	public ProductLocalServiceWrapper(ProductLocalService productLocalService) {
		_productLocalService = productLocalService;
	}

	/**
	* Adds the product to the database. Also notifies the appropriate model listeners.
	*
	* @param product the product
	* @return the product that was added
	* @throws SystemException if a system exception occurred
	*/
	public com.bkav.portal.portlet.product.model.Product addProduct(
		com.bkav.portal.portlet.product.model.Product product)
		throws com.liferay.portal.kernel.exception.SystemException {
		return _productLocalService.addProduct(product);
	}

	/**
	* Creates a new product with the primary key. Does not add the product to the database.
	*
	* @param productId the primary key for the new product
	* @return the new product
	*/
	public com.bkav.portal.portlet.product.model.Product createProduct(
		long productId) {
		return _productLocalService.createProduct(productId);
	}

	/**
	* Deletes the product with the primary key from the database. Also notifies the appropriate model listeners.
	*
	* @param productId the primary key of the product
	* @return the product that was removed
	* @throws PortalException if a product with the primary key could not be found
	* @throws SystemException if a system exception occurred
	*/
	public com.bkav.portal.portlet.product.model.Product deleteProduct(
		long productId)
		throws com.liferay.portal.kernel.exception.PortalException,
			com.liferay.portal.kernel.exception.SystemException {
		return _productLocalService.deleteProduct(productId);
	}

	/**
	* Deletes the product from the database. Also notifies the appropriate model listeners.
	*
	* @param product the product
	* @return the product that was removed
	* @throws SystemException if a system exception occurred
	*/
	public com.bkav.portal.portlet.product.model.Product deleteProduct(
		com.bkav.portal.portlet.product.model.Product product)
		throws com.liferay.portal.kernel.exception.SystemException {
		return _productLocalService.deleteProduct(product);
	}

	public com.liferay.portal.kernel.dao.orm.DynamicQuery dynamicQuery() {
		return _productLocalService.dynamicQuery();
	}

	/**
	* Performs a dynamic query on the database and returns the matching rows.
	*
	* @param dynamicQuery the dynamic query
	* @return the matching rows
	* @throws SystemException if a system exception occurred
	*/
	@SuppressWarnings("rawtypes")
	public java.util.List dynamicQuery(
		com.liferay.portal.kernel.dao.orm.DynamicQuery dynamicQuery)
		throws com.liferay.portal.kernel.exception.SystemException {
		return _productLocalService.dynamicQuery(dynamicQuery);
	}

	/**
	* Performs a dynamic query on the database and returns a range of the matching rows.
	*
	* <p>
	* Useful when paginating results. Returns a maximum of <code>end - start</code> instances. <code>start</code> and <code>end</code> are not primary keys, they are indexes in the result set. Thus, <code>0</code> refers to the first result in the set. Setting both <code>start</code> and <code>end</code> to {@link com.liferay.portal.kernel.dao.orm.QueryUtil#ALL_POS} will return the full result set.
	* </p>
	*
	* @param dynamicQuery the dynamic query
	* @param start the lower bound of the range of model instances
	* @param end the upper bound of the range of model instances (not inclusive)
	* @return the range of matching rows
	* @throws SystemException if a system exception occurred
	*/
	@SuppressWarnings("rawtypes")
	public java.util.List dynamicQuery(
		com.liferay.portal.kernel.dao.orm.DynamicQuery dynamicQuery, int start,
		int end) throws com.liferay.portal.kernel.exception.SystemException {
		return _productLocalService.dynamicQuery(dynamicQuery, start, end);
	}

	/**
	* Performs a dynamic query on the database and returns an ordered range of the matching rows.
	*
	* <p>
	* Useful when paginating results. Returns a maximum of <code>end - start</code> instances. <code>start</code> and <code>end</code> are not primary keys, they are indexes in the result set. Thus, <code>0</code> refers to the first result in the set. Setting both <code>start</code> and <code>end</code> to {@link com.liferay.portal.kernel.dao.orm.QueryUtil#ALL_POS} will return the full result set.
	* </p>
	*
	* @param dynamicQuery the dynamic query
	* @param start the lower bound of the range of model instances
	* @param end the upper bound of the range of model instances (not inclusive)
	* @param orderByComparator the comparator to order the results by (optionally <code>null</code>)
	* @return the ordered range of matching rows
	* @throws SystemException if a system exception occurred
	*/
	@SuppressWarnings("rawtypes")
	public java.util.List dynamicQuery(
		com.liferay.portal.kernel.dao.orm.DynamicQuery dynamicQuery, int start,
		int end,
		com.liferay.portal.kernel.util.OrderByComparator orderByComparator)
		throws com.liferay.portal.kernel.exception.SystemException {
		return _productLocalService.dynamicQuery(dynamicQuery, start, end,
			orderByComparator);
	}

	/**
	* Returns the number of rows that match the dynamic query.
	*
	* @param dynamicQuery the dynamic query
	* @return the number of rows that match the dynamic query
	* @throws SystemException if a system exception occurred
	*/
	public long dynamicQueryCount(
		com.liferay.portal.kernel.dao.orm.DynamicQuery dynamicQuery)
		throws com.liferay.portal.kernel.exception.SystemException {
		return _productLocalService.dynamicQueryCount(dynamicQuery);
	}

	public com.bkav.portal.portlet.product.model.Product fetchProduct(
		long productId)
		throws com.liferay.portal.kernel.exception.SystemException {
		return _productLocalService.fetchProduct(productId);
	}

	/**
	* Returns the product with the primary key.
	*
	* @param productId the primary key of the product
	* @return the product
	* @throws PortalException if a product with the primary key could not be found
	* @throws SystemException if a system exception occurred
	*/
	public com.bkav.portal.portlet.product.model.Product getProduct(
		long productId)
		throws com.liferay.portal.kernel.exception.PortalException,
			com.liferay.portal.kernel.exception.SystemException {
		return _productLocalService.getProduct(productId);
	}

	public com.liferay.portal.model.PersistedModel getPersistedModel(
		java.io.Serializable primaryKeyObj)
		throws com.liferay.portal.kernel.exception.PortalException,
			com.liferay.portal.kernel.exception.SystemException {
		return _productLocalService.getPersistedModel(primaryKeyObj);
	}

	/**
	* Returns a range of all the products.
	*
	* <p>
	* Useful when paginating results. Returns a maximum of <code>end - start</code> instances. <code>start</code> and <code>end</code> are not primary keys, they are indexes in the result set. Thus, <code>0</code> refers to the first result in the set. Setting both <code>start</code> and <code>end</code> to {@link com.liferay.portal.kernel.dao.orm.QueryUtil#ALL_POS} will return the full result set.
	* </p>
	*
	* @param start the lower bound of the range of products
	* @param end the upper bound of the range of products (not inclusive)
	* @return the range of products
	* @throws SystemException if a system exception occurred
	*/
	public java.util.List<com.bkav.portal.portlet.product.model.Product> getProducts(
		int start, int end)
		throws com.liferay.portal.kernel.exception.SystemException {
		return _productLocalService.getProducts(start, end);
	}

	/**
	* Returns the number of products.
	*
	* @return the number of products
	* @throws SystemException if a system exception occurred
	*/
	public int getProductsCount()
		throws com.liferay.portal.kernel.exception.SystemException {
		return _productLocalService.getProductsCount();
	}

	/**
	* Updates the product in the database or adds it if it does not yet exist. Also notifies the appropriate model listeners.
	*
	* @param product the product
	* @return the product that was updated
	* @throws SystemException if a system exception occurred
	*/
	public com.bkav.portal.portlet.product.model.Product updateProduct(
		com.bkav.portal.portlet.product.model.Product product)
		throws com.liferay.portal.kernel.exception.SystemException {
		return _productLocalService.updateProduct(product);
	}

	/**
	* Updates the product in the database or adds it if it does not yet exist. Also notifies the appropriate model listeners.
	*
	* @param product the product
	* @param merge whether to merge the product with the current session. See {@link com.liferay.portal.service.persistence.BatchSession#update(com.liferay.portal.kernel.dao.orm.Session, com.liferay.portal.model.BaseModel, boolean)} for an explanation.
	* @return the product that was updated
	* @throws SystemException if a system exception occurred
	*/
	public com.bkav.portal.portlet.product.model.Product updateProduct(
		com.bkav.portal.portlet.product.model.Product product, boolean merge)
		throws com.liferay.portal.kernel.exception.SystemException {
		return _productLocalService.updateProduct(product, merge);
	}

	/**
	* Returns the Spring bean ID for this bean.
	*
	* @return the Spring bean ID for this bean
	*/
	public java.lang.String getBeanIdentifier() {
		return _productLocalService.getBeanIdentifier();
	}

	/**
	* Sets the Spring bean ID for this bean.
	*
	* @param beanIdentifier the Spring bean ID for this bean
	*/
	public void setBeanIdentifier(java.lang.String beanIdentifier) {
		_productLocalService.setBeanIdentifier(beanIdentifier);
	}

	public java.lang.Object invokeMethod(java.lang.String name,
		java.lang.String[] parameterTypes, java.lang.Object[] arguments)
		throws java.lang.Throwable {
		return _productLocalService.invokeMethod(name, parameterTypes, arguments);
	}

	public int countAll()
		throws com.liferay.portal.kernel.exception.SystemException {
		return _productLocalService.countAll();
	}

	public int countByCompany(long companyId)
		throws com.liferay.portal.kernel.exception.SystemException {
		return _productLocalService.countByCompany(companyId);
	}

	public int countByGroup(long groupId)
		throws com.liferay.portal.kernel.exception.SystemException {
		return _productLocalService.countByGroup(groupId);
	}

	public int countByCategory(long categoryId)
		throws com.liferay.portal.kernel.exception.SystemException {
		return _productLocalService.countByCategory(categoryId);
	}

	public java.util.List<com.bkav.portal.portlet.product.model.Product> findAll()
		throws com.liferay.portal.kernel.exception.SystemException {
		return _productLocalService.findAll();
	}

	public com.bkav.portal.portlet.product.model.Product findByProductId(
		long productId)
		throws com.bkav.portal.portlet.product.NoSuchProductException,
			com.liferay.portal.kernel.exception.SystemException {
		return _productLocalService.findByProductId(productId);
	}

	public java.util.List<com.bkav.portal.portlet.product.model.Product> findByCompany(
		long companyId)
		throws com.liferay.portal.kernel.exception.SystemException {
		return _productLocalService.findByCompany(companyId);
	}

	public java.util.List<com.bkav.portal.portlet.product.model.Product> findByCompany(
		long companyId, int start, int end)
		throws com.liferay.portal.kernel.exception.SystemException {
		return _productLocalService.findByCompany(companyId, start, end);
	}

	public java.util.List<com.bkav.portal.portlet.product.model.Product> findByGroup(
		long groupId)
		throws com.liferay.portal.kernel.exception.SystemException {
		return _productLocalService.findByGroup(groupId);
	}

	public java.util.List<com.bkav.portal.portlet.product.model.Product> findByGroup(
		long groupId, int start, int end)
		throws com.liferay.portal.kernel.exception.SystemException {
		return _productLocalService.findByGroup(groupId, start, end);
	}

	public java.util.List<com.bkav.portal.portlet.product.model.Product> findByCategory(
		long categoryId)
		throws com.liferay.portal.kernel.exception.SystemException {
		return _productLocalService.findByCategory(categoryId);
	}

	public java.util.List<com.bkav.portal.portlet.product.model.Product> findByCategory(
		long categoryId, int start, int end)
		throws com.liferay.portal.kernel.exception.SystemException {
		return _productLocalService.findByCategory(categoryId, start, end);
	}

	public java.util.List<com.bkav.portal.portlet.product.model.Product> findByKeyword(
		long groupId, java.lang.String keyword, int start, int end)
		throws com.liferay.portal.kernel.exception.SystemException {
		return _productLocalService.findByKeyword(groupId, keyword, start, end);
	}

	public com.bkav.portal.portlet.product.model.Product addProduct(
		long companyId, long groupId, long userId, java.lang.String userName,
		long categoryId, java.lang.String productName,
		java.lang.String productInfo)
		throws com.liferay.portal.kernel.exception.PortalException,
			com.liferay.portal.kernel.exception.SystemException {
		return _productLocalService.addProduct(companyId, groupId, userId,
			userName, categoryId, productName, productInfo);
	}

	public com.bkav.portal.portlet.product.model.Product updateProduct(
		long companyId, long groupId, long userId, java.lang.String userName,
		long productId, long categoryId, java.lang.String productName,
		java.lang.String productInfo)
		throws com.liferay.portal.kernel.exception.PortalException,
			com.liferay.portal.kernel.exception.SystemException {
		return _productLocalService.updateProduct(companyId, groupId, userId,
			userName, productId, categoryId, productName, productInfo);
	}

	public java.util.List<com.bkav.portal.portlet.product.model.Product> getProducts(
		int start, int end,
		com.liferay.portal.kernel.util.OrderByComparator comparator)
		throws com.liferay.portal.kernel.exception.SystemException {
		return _productLocalService.getProducts(start, end, comparator);
	}

	/**
	 * @deprecated Renamed to {@link #getWrappedService}
	 */
	public ProductLocalService getWrappedProductLocalService() {
		return _productLocalService;
	}

	/**
	 * @deprecated Renamed to {@link #setWrappedService}
	 */
	public void setWrappedProductLocalService(
		ProductLocalService productLocalService) {
		_productLocalService = productLocalService;
	}

	public ProductLocalService getWrappedService() {
		return _productLocalService;
	}

	public void setWrappedService(ProductLocalService productLocalService) {
		_productLocalService = productLocalService;
	}

	private ProductLocalService _productLocalService;
}